From 331bba1ad6c5d9535fc5a827b91019f5824e25a7 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Fri, 23 Mar 2012 07:09:02 +0100 Subject: [PATCH] entrycompletion: set_property() should call property setters gtk_entry_completion_set_property() was setting many properties by directly modifying priv values, bypassing notification invocation and possibly another actions done by gtk_completion_entry_set_xxx () functions. Fix by invoking set_xxx() instead of setting the property value directly. The real bug observerd was that setting text-column property using g_object_set() caused SIGFPE later when entry completion was about to appear. gtk_entry_completion_set_text_column () apparently does way more important things than just setting priv->text_column member. https://bugzilla.gnome.org/show_bug.cgi?id=673693 --- gtk/gtkentrycompletion.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 8367ed9957..cb4aad68a3 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -651,27 +651,33 @@ gtk_entry_completion_set_property (GObject *object, break; case PROP_TEXT_COLUMN: - priv->text_column = g_value_get_int (value); + gtk_entry_completion_set_text_column (completion, + g_value_get_int (value)); break; case PROP_INLINE_COMPLETION: - priv->inline_completion = g_value_get_boolean (value); + gtk_entry_completion_set_inline_completion (completion, + g_value_get_boolean (value)); break; case PROP_POPUP_COMPLETION: - priv->popup_completion = g_value_get_boolean (value); + gtk_entry_completion_set_popup_completion (completion, + g_value_get_boolean (value)); break; case PROP_POPUP_SET_WIDTH: - priv->popup_set_width = g_value_get_boolean (value); + gtk_entry_completion_set_popup_set_width (completion, + g_value_get_boolean (value)); break; case PROP_POPUP_SINGLE_MATCH: - priv->popup_single_match = g_value_get_boolean (value); + gtk_entry_completion_set_popup_single_match (completion, + g_value_get_boolean (value)); break; case PROP_INLINE_SELECTION: - priv->inline_selection = g_value_get_boolean (value); + gtk_entry_completion_set_inline_selection (completion, + g_value_get_boolean (value)); break; case PROP_CELL_AREA: -- 2.30.2